Terraform Proxmox

  • provider telmate/proxmox
    pveum role add TerraformProv -privs "VM.Allocate VM.Clone VM.Config.CDROM VM.Config.CPU VM.Config.Cloudinit VM.Config.Disk VM.Config.HWType VM.Config.Memory VM.Config.Network VM.Config.Options VM.Monitor VM.Audit VM.PowerMgmt Datastore.AllocateSpace Datastore.Audit"
    pveum user add terraform-prov@pve --password <password>
    pveum aclmod / -user terraform-prov@pve -role TerraformProv
    
    # chg
    pveum role modify TerraformProv -privs "VM.Allocate VM.Clone VM.Config.CDROM VM.Config.CPU VM.Config.Cloudinit VM.Config.Disk VM.Config.HWType VM.Config.Memory VM.Config.Network VM.Config.Options VM.Monitor VM.Audit VM.PowerMgmt Datastore.AllocateSpace Datastore.Audit"
    
    export PM_USER="terraform-prov@pve"
    export PM_PASS="password"
    
    provider "proxmox" {
      pm_api_url = "https://proxmox-server01.example.com:8006/api2/json"
    }
    
    export PM_API_TOKEN_ID="terraform-prov@pve!mytoken"
    export PM_API_TOKEN_SECRET="<see 1pwd>"
    
    provider "proxmox" {
      pm_log_enable = true
      pm_log_file   = "terraform-plugin-proxmox.log"
      pm_debug      = true
      pm_log_levels = {
        _default    = "debug"
        _capturelog = ""
      }
    }